package com.itheima.web;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class BaseServlet extends HttpServlet {

   protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{

       //获取请求路径
       String requestURI = req.getRequestURI();

       //获取请求路径的后缀
       String suffix = requestURI.substring(requestURI.lastIndexOf("/") + 1);

       Class<? extends BaseServlet> aClass = this.getClass();

       try {
           Method method = aClass.getMethod(suffix, HttpServletRequest.class, HttpServletResponse.class);

           method.invoke(this, req, resp);

       } catch (NoSuchMethodException e) {
           e.printStackTrace();
       } catch (InvocationTargetException e) {
           e.printStackTrace();
       } catch (IllegalAccessException e) {
           e.printStackTrace();
       }


   }
}
